package com.todo.strategy.online.application.frontend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.iface.request.*;
import com.todo.strategy.online.iface.response.StrategyBaseVO;
import com.todo.strategy.online.iface.response.UserStrategyDetailVO;

/**
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:49
 */
public interface UserStrategyAggService {

    /**
     * 新增用户攻略
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> insertUserStrategy(InsertUserStrategyParam param);

    /**
     * 更新用户攻略
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updateUserStrategy(UpdateUserStrategyParam param);

    /**
     * 删除用户攻略
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeUserStrategy(RemoveUserStrategyParam param);

    /**
     * 根据用户id查询用户攻略列表
     *
     * @param param
     * @return
     */
    BizPageResponse<StrategyBaseVO> queryUserStrategyListByUserId(QueryUserStrategyByUserIdParam param);

    /**
     * 根据id查询用户攻略详情
     *
     * @param param
     * @return
     */
    BizResponse<UserStrategyDetailVO> queryUserStrategyById(QueryUserStrategyByIdParam param);
}
